/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import { request as __request, checkJsonSchema as __checkJsonSchema } from '../../core/request';
const schemas = require("../schema").default;

export class Service {

    /**
     * 在指定产品版本下添加一个新的方案
     * @returns any Example response
     * @throws ApiError
     */
    public static async addPlan({
        requestBody,
    }: {
        requestBody?: {
            /**
             * 所属产品版本ID
             */
            productVId: number,
            /**
             * 方案名称
             */
            name: string,
            /**
             * 测试类型，可取值：
             * api - API测试
             * ui - UI测试
             * performance - 性能测试
             */
            type: string,
            /**
             * 方案描述
             */
            description: string,
        },
    }): Promise<{
        /**
         * 值为0，操作成功
         */
        optResult: number,
        /**
         * 操作失败说明
         */
        msg?: string,
    }> {
        const result = await __request({
            method: 'POST',
            path: `/planmanager/v1/addPlan`,
            body: requestBody,
        });

        __checkJsonSchema("addPlan", schemas, result);
        return result.body;
    }

    /**
     * 将选中的测试用例添加到当前方案中
     * @returns any Example response
     * @throws ApiError
     */
    public static async addCasesInPlan({
        requestBody,
    }: {
        requestBody?: {
            /**
             * 方案ID
             */
            planId: number,
            /**
             * 方案需要包含的用例信息
             */
            cases: Array<{
                /**
                 * 用例ID
                 */
                id: number,
            }>,
        },
    }): Promise<{
        /**
         * 值为0，操作成功
         */
        optResult: number,
        /**
         * 操作失败说明
         */
        msg?: string,
    }> {
        const result = await __request({
            method: 'POST',
            path: `/planmanager/v1/editCasesInPlan`,
            body: requestBody,
        });

        __checkJsonSchema("addCasesInPlan", schemas, result);
        return result.body;
    }

}